Today developers and users typically store data from various applications in certain well known folders such as the My Documents folder or the My Pictures folder. These well known folders provide easy access across multiple applications and computer network environments in order for developers and users to access information. These well known folders are utilized in operating systems, such as Windows® brand Operating Systems.
For example, many applications utilize specific well known folders such as the My Documents folder for storing data applicable to the particular application being installed. The use of the My Documents folder enables other applications the ability to access the stored information. For instance a jpeg file may be used by several photo publishing applications. A particular photo publishing application may store the jpeg file in a well known folder such as the My Documents folder so that other photo publishing applications may access the jpeg file. However, placement of numerous application files and folders under the My Documents folder creates an unorganized list of folders making searching for particular folders and data cumbersome and time consuming.
Existing operating systems such as Microsoft® Windows® utilize a Shell to organize data objects such as folders and files into a hierarchical namespace structure through a user interface or an application. The Shell may contain special folders whose location and existence may be known to the system and access to which is provided from numerous places in the Shell such as the Start Menu. The Shell may provide a set of SHFolderPath APIs to manage these well known folders for developers and users. The SHFolderPath APIs may utilize a fixed set of CSIDLs. The CSIDLs comprise ordinal values used to identify folders and provide a unique system-independent way to identify special folders used frequently by applications. A table is utilized to map the CSIDLs with the location of the well known folders on a disk or drive. In current versions of existing operating systems, such as Microsoft® Windows® XP, known folders are not extendable as the CSIDLs are not extendable. Moreover, the addition of new properties to existing known folders in existing operating systems is not possible.
Thus, it would be an advancement in the art to provide a method and data structure in which developers and users may create their own known folders for use by various applications. Additionally, it would be an advancement to add new or custom properties to existing as well as new known folders which may be utilized by developers or users. These custom properties may, for example, inform developers or users of a known folders intended usage. Furthermore, the method and data structure should enable a user to discover and utilize other known folders created by various applications which may be located on the same computer or on a network with a minimal amount of effort.